package com.indexingsystem.system.service;

import com.indexingsystem.boss.Vo.*;
import com.indexingsystem.boss.common.PagedResult;
import com.indexingsystem.boss.entity.IdxThemeTable;
import com.indexingsystem.boss.entity.IdxThemeTableWithBLOBs;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import java.util.List;

public interface IdxThemeTableService {
	int deleteByPrimaryKey(Integer themeTableId);

	int insert(IdxThemeTableWithBLOBs record);

	int insertSelective(IdxThemeTableWithBLOBs record);

	IdxThemeTableWithBLOBs selectByPrimaryKey(Integer themeTableId);

	int updateByPrimaryKeySelective(IdxThemeTableWithBLOBs record);

	int updateByPrimaryKeyWithBLOBs(IdxThemeTableWithBLOBs record);

	int updateByPrimaryKey(IdxThemeTable record);

	/**
	 * 根据父级id,查询所有父级列表
	 * 
	 * @param parentId
	 * @return
	 */
	List<IdxThemeTableWithBLOBs> selectThmeWordsByParentId(Integer parentId);

	/**
	 * 根据parentId修改所有父级arrchildid
	 * 
	 * @param tablesId
	 * @param parentId
	 * @return
	 */
	Integer updateThmeTablesArrchildIdByParentId(Integer tablesId, Integer parentId);

	/**
	 * 根据主题词表id查询所有下级列表
	 * 
	 * @param themeTablesId
	 * @return
	 */
	List<IdxThemeTableWithBLOBs> getThemeTablesById(Integer themeTablesId);

	/**
	 * 批量删除主题词表
	 * 
	 * @param list
	 * @return
	 */
	Integer deleteByIdBatch(List<String> list);
	
	/**
	 * 删除更新arrchildid
	 * @param list
	 * @return
	 */
	Integer updateThemeTablesById(List<String> list);


	/**
	 * 分页查询主题词表
	 * @param idxThemeTablesReqVo
	 * @return
	 */
	PagedResult<IdxThemeTablesListVo> selectIdxThemeTablel(IdxThemeTableslReqVo idxThemeTablesReqVo);


	/**
	 * 分页查询主题词表数量
	 * @param idxThemeTableslReqVo
	 * @return
	 */
	Integer selectIdxThemeTableCount(IdxThemeTableslReqVo idxThemeTableslReqVo);

	String export(ExportThemeWordsReqVo reqVo, HSSFWorkbook wb);
}
